home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / TURB_VIS / PGC122 / PTG_USER.DOC < prev    next >
Text File  |  1994-02-09  |  49KB  |  1,561 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.             ▀▀▀▀▀   ▀    ▀▀▀▀▀
  15.            ▀▀   ▀▀  ▀▄  ▀▀        ▀▀   ▀  ▀
  16.            ▀▀▀▀▀▀  ▄▀  ▀▀▀  ▀▀▀▀ ▀▄▄▀ ▀ ▀ ▀
  17.            ▀▀       ▀   ▀▀   ▀▀  ▀    ▀  ▀▀   1.20
  18.            ▀▀        ▀▀   ▀▀▀▀▀    ▀▀  ▀   ▀
  19.  
  20.  
  21.            (c) Copyright 1991, 1993 by Nederware, a dutch software company
  22.  
  23.  
  24.            User's Guide
  25.  
  26.  
  27.            written by Berend de Boer
  28.  
  29.  
  30.  
  31.  
  32.  
  33.                                       DISCLAIMER
  34.  
  35.           NEDERWARE PROVIDES THE SHAREWARE VERSION OF PTGEN "AS IS" AND
  36.           WITHOUT ANY WARRANTY. TO THE EXTENT PERMITTED UNDER APPLICABLE
  37.           LAW, NEDERWARE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  38.           INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTY OF MERCHAN-
  39.           TABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SPECIFICALLY,
  40.           NEDERWARE MAKES NO REPRESENTATION OR WARRANTY THAT THE SOFTWARE
  41.           IS FIT FOR ANY PARTICULAR PURPOSE.
  42.  
  43.           NEDERWARE SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE
  44.           USE OF THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS OF
  45.           PROFIT, DATA OR USE OF THE SOFTWARE, OR SPECIAL, INCIDENTAL OR
  46.           CONSEQUENTIAL DAMAGES OR OTHER SIMILAR CLAIMS, EVEN IF NEDERWARE
  47.           HAS BEEN SPECIFICALLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.                               PtGen user manual - page i
  87.  
  88.  
  89.  
  90.  
  91.  
  92.                                   TABLE OF CONTENTS
  93.  
  94.  
  95.           LICENSE . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
  96.  
  97.           INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . .   1
  98.                Assumptions  . . . . . . . . . . . . . . . . . . . . . .   1
  99.                About PtGen  . . . . . . . . . . . . . . . . . . . . . .   1
  100.                Features . . . . . . . . . . . . . . . . . . . . . . . .   1
  101.                TVTool . . . . . . . . . . . . . . . . . . . . . . . . .   1
  102.                Acknowledgements . . . . . . . . . . . . . . . . . . . .   2
  103.  
  104.           INSTALLATION  . . . . . . . . . . . . . . . . . . . . . . . .   3
  105.                The READ.ME file . . . . . . . . . . . . . . . . . . . .   3
  106.                Installation on harddisk . . . . . . . . . . . . . . . .   4
  107.                Environment variables  . . . . . . . . . . . . . . . . .   4
  108.                Installation under Tools menu of Borland IDE . . . . . .   4
  109.                Needed units . . . . . . . . . . . . . . . . . . . . . .   4
  110.  
  111.           PtGen DEVELOPMENT-CYCLE . . . . . . . . . . . . . . . . . . .   5
  112.                PtGen development-cycle  . . . . . . . . . . . . . . . .   5
  113.                Ptgen single dialog box creating mode  . . . . . . . . .   5
  114.  
  115.           THE FILES CREATED BY PtGen  . . . . . . . . . . . . . . . . .   7
  116.                The Source File  . . . . . . . . . . . . . . . . . . . .   7
  117.                DEFINES.DEF  . . . . . . . . . . . . . . . . . . . . . .   7
  118.                STRRESFS.TVR . . . . . . . . . . . . . . . . . . . . . .   7
  119.                STRINGS.TVR  . . . . . . . . . . . . . . . . . . . . . .   8
  120.                STRINGS.INC  . . . . . . . . . . . . . . . . . . . . . .   8
  121.  
  122.           GENERAL OPERATION PRINCIPLES  . . . . . . . . . . . . . . . .   9
  123.                Mouse operation  . . . . . . . . . . . . . . . . . . . .   9
  124.                Keyboard operation . . . . . . . . . . . . . . . . . . .   9
  125.  
  126.           SAMPLE APPS . . . . . . . . . . . . . . . . . . . . . . . . .  10
  127.                Creating a menubar and a statusline  . . . . . . . . . .  10
  128.                Creating a dialog box  . . . . . . . . . . . . . . . . .  14
  129.  
  130.           CREATING AN EXECUTABLE  . . . . . . . . . . . . . . . . . . .  17
  131.                A simple main  . . . . . . . . . . . . . . . . . . . . .  17
  132.                A more advanced main . . . . . . . . . . . . . . . . . .  17
  133.  
  134.           MORE ADVANCED TOPICS  . . . . . . . . . . . . . . . . . . . .  19
  135.                Using string resource files  . . . . . . . . . . . . . .  19
  136.                Adding units . . . . . . . . . . . . . . . . . . . . . .  19
  137.  
  138.           Appendix A: Command line options  . . . . . . . . . . . . . .  20
  139.  
  140.           Appendix B: Environment variables . . . . . . . . . . . . . .  21
  141.  
  142.           INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . .  22
  143.  
  144.  
  145.                              PtGen user manual - page ii
  146.  
  147.  
  148.  
  149.  
  150.  
  151.                                        LICENSE
  152.  
  153.  
  154.           Copyright 1991, 1993 by Nederware. All rights reserved.
  155.           COMMERCIAL DISTRIBUTION PROHIBITED WITHOUT WRITTEN CONSENT FROM
  156.           THE AUTHOR.
  157.           This version of PtGen is NOT public domain or free software, but
  158.           is being distributed as "shareware" for EVALUATION PURPOSES ONLY.
  159.  
  160.           1a)  You may copy and distribute copies of the PtGen source,
  161.                documentation, and executable code as you receive it, in any
  162.                medium, provided that you conspicuously and appropriately
  163.                publish on each copy a valid copyright notice "Copyright
  164.                1992 by Nederware"; keep intact the notices on all files
  165.                that refer to this License Agreement and to the absence of
  166.                any warranty; PROVIDE UNMODIFIED COPIES OF THE DOCUMENTATION
  167.                AS PROVIDED WITH THE PROGRAM; and give any other recipients
  168.                of the PtGen program a copy of this License Agreement along
  169.                with the program. You may charge a distribution fee for the
  170.                physical act of transferring a copy, but no more than is
  171.                necessary to recover your actual costs incurred in the
  172.                transfer. Under no circumstances is PtGen to be distributed
  173.                in such a way as to be construed as "value added" in a sales
  174.                transaction, such as, but not limited to, software bundled
  175.                with any other program without the prior written consent of
  176.                the author.
  177.           1b)  Archive sites which are reachable by anonymous ftp is given
  178.                explicit consent to include PtGen on any media they think is
  179.                appropriate to distribute their collection.
  180.  
  181.           2)   You may use PtGen for a 30-day evaluation period on a
  182.                private, non-commercial basis, for the express purpose of
  183.                determining whether PtGen is suitable for your needs. At the
  184.                end of this 30-day evaluation period, you must either
  185.                purchase a license from Nederware for continued use of
  186.                PtGen, or discontinue using PtGen. See REGISTRATION.FRM for
  187.                details about purchasing a license.
  188.  
  189.           3)   As a user with license you are entitled to FREE updates
  190.                until the next major version. Versions can be differentiated
  191.                by their version number. The version number of your copy of
  192.                PtGen is listed in the about dialog box of PtGen.
  193.                A next major version differs from the previous major version
  194.                by changing of the number before the point in the version
  195.                number. Say you have version 1.4. If you want to use PtGen
  196.                2.1 you have to buy a new license. Licensed users get 50%
  197.                reduction in the price of the major version they want to
  198.                use.
  199.                FREE updates is FREE of extra cost outside shipping and
  200.                handling, usually not more than $10.00. If you have
  201.                CompuServe access it is possible to upload new software to
  202.                you using CompuServe's binary file transfer function. The
  203.  
  204.                              PtGen user manual - page iii
  205.  
  206.  
  207.  
  208.  
  209.  
  210.                total cost of this process is for the user. The cost of this
  211.                is estimated to be about $6.00.
  212.  
  213.           4)   If you use this software for private, personal, non-
  214.                commercial means only then you may purchase this product at
  215.                a chepar rate. Non-commercial is: you're not using this
  216.                software for any purpose that is linked with commercial or
  217.                non-personal leisure activities of any kind. Commercial or
  218.                non-personal leisure activities include activities related
  219.                to any of your jobs wherefore you receive money.
  220.                Contact the author for details.
  221.  
  222.           5)   If this software is used for non-profit organizations, it is
  223.                possible in some cases to purchase a license without actual
  224.                cost. In such a case that organization needs a prior written
  225.                consent of the author which can be given or not given. There
  226.                can be no correspondence if this consent is not given for
  227.                the organization which asked it. If this consent is not
  228.                given, that organization should consider this software as
  229.                shareware and the normal license for this software applies.
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.                              PtGen user manual - page iv
  264.  
  265.  
  266.  
  267.  
  268.  
  269.                                      INTRODUCTION
  270.  
  271.  
  272.  
  273.  
  274.           Assumptions
  275.  
  276.           It's assumed that you have Turbo Pascal 7.0 installed on your
  277.           system. Further, knowledge about the object-oriented paradigm is
  278.           necessary as well as about Turbo Vision. No attempt will be made
  279.           to explain any of these items.
  280.  
  281.  
  282.           About PtGen
  283.  
  284.           This tool is intended for Turbo Pascal programmers who wish to
  285.           enhance their productivity by rapidly building Turbo Vision
  286.           screens. This tool outputs source code and is capable of reading
  287.           that source code for further editing. PtGen comes in a real mode
  288.           and in a protected mode version. This manual applies to both
  289.           varieties.
  290.  
  291.  
  292.           Features
  293.  
  294.           *    creates complete applications or just standalone dialog
  295.                boxes
  296.  
  297.           *    quick interactive menubar building
  298.  
  299.           *    quick interactive statusline building
  300.  
  301.           *    quick interactive dialog box building
  302.  
  303.           *    full helptext support for statusline help as well as for
  304.                helpfiles (.HLP)
  305.  
  306.           *    build-in tutorial, covering creating of statuslines,
  307.                menubars and dialog boxes
  308.  
  309.           *    supports TVTool 2.0 (see below for section TVTool)
  310.  
  311.  
  312.           TVTool
  313.  
  314.           PtGen supports TVTool 2.0. TVTool is a TurboVision tool written
  315.           by Richard Hansen who can be reached at:
  316.  
  317.                CompuServe: 70242,3367
  318.                email: 70242.3367@compuserve.com
  319.                fidonet: 1:282/115
  320.  
  321.  
  322.                               PtGen user manual - page 1
  323.  
  324.  
  325.  
  326.  
  327.  
  328.           The TV Tool Box package was created to fill a few holes in
  329.           Turbo Vision for Turbo Pascal. TV Tool Box includes formatted
  330.           data entry with input masks, scrolling data entry dialogs, data
  331.           entry field locking, check mark menus, enhancements to
  332.           TApplication, some handy string routines, scrolling dialog boxes,
  333.           3D controls, virtual list boxes, spin bars, sliders and more.
  334.  
  335.           PtGen currently supports all 3D controls of TVTool. Basic support
  336.           for the TbxEditLine (including mask definition) is also provided.
  337.           Planned enhancements include supporting all input mask inputlines
  338.           and supporting the scrolling dialog box.
  339.  
  340.           Registered users of PtGen receive a 25% reduction on their TV
  341.           Tool Box package, just as registered users of TVTool receive a
  342.           25% reduction on their PtGen package.
  343.  
  344.           The shareware version of TVTool is shipped with the registered
  345.           version of TVTool, just as the shareware version of PtGen is
  346.           shipped with every registered version of TVTool.
  347.  
  348.           To receive your 25% registration discount YOU MUST INCLUDE your
  349.           PtGen registration number on your TV Tool Box order form.
  350.           THE SPECIAL 25% DISCOUNT IS ONLY AVAILABLE ON ORDERS MADE
  351.           DIRECTLY TO RICHARD HANSEN.
  352.  
  353.  
  354.           Acknowledgements
  355.  
  356.           I would like to thank alpha tester Tom Kooij who provided me with
  357.           valuable suggestions about the PtGen user interface.
  358.           I would also express my thanks to the following people who
  359.           contrinbuted much to PtGen's operation: Hans van der Veeke and
  360.           David MiddleBrooks.
  361.           Also I wish to thank the betatesters Frank van der Ham and
  362.           Christian Haarmeijer who pointed out some inconveniences and
  363.           detected some errors.
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.                               PtGen user manual - page 2
  382.  
  383.  
  384.  
  385.  
  386.  
  387.                                      INSTALLATION
  388.  
  389.  
  390.  
  391.  
  392.           The READ.ME file
  393.  
  394.           Before installing PtGen, you should review the contents of the
  395.           READ.ME file on your PtGen distribution diskette. This file
  396.           contains important information (usage information, new features,
  397.           changes, known bugs, etc.) that became available after this
  398.           manual was printed. You should carefully review the READ.ME file
  399.           before using PtGen.
  400.           The READ.ME file also contains a complete list of the files
  401.           included on the distribution diskette. A partial list is included
  402.           here:
  403.  
  404.           PTGEN.EXE      The ProtoType Generator.
  405.           PTGEN.OVR      The PtGen overlay file (for realmode version
  406.                          only).
  407.           PTGHELP.HLP    Help file.
  408.           PTG_USER.DOC   This manual.
  409.           PTG_REF.DOC    The reference manual.
  410.           CHANGES.DOC    Overview of latest changes and additions.
  411.           READ.ME        Latest information and complete list of files in
  412.                          this distribution.
  413.           TUTORIAL.*     Texts for the build-in tutorials.
  414.           REGISTER.FRM   Registration form.
  415.           PREAPP.PAS     Definition of the application object from which
  416.                          the PtGen created application object is derived. A
  417.                          copy of this file is needed for every application.
  418.           PREAPP.INC     Identifier include file for PREAPP.PAS. Use
  419.                          PREAPP.INC to change the string resource file
  420.                          DEFAULT.TVR, ENGLISH.TVR and DUTCH.TVR
  421.           DEFAULT.TVR    Default language strings for all provided units.
  422.           DUTCH.TVR      Dutch resource strings for all provided units.
  423.           ENGLISH.TVR    English resource strings for all provided units.
  424.           BBDLG.PAS      TVision dialog boxes and views, see the reference
  425.                          manual or online help for details.
  426.           BBFILE.PAS     File I/O primitives, see the reference manual or
  427.                          online help for details.
  428.           BBSTRRES.PAS   Resource string handling, see the reference manual
  429.                          or the online help for details.
  430.           BBUTIL.PAS     Primitives, see the reference manual or online
  431.                          help for details.
  432.           BBVALIDATE     Validators, overriding the ones provided in
  433.                          VALIDATE.PAS. The validators in the Validate unit
  434.                          gave an english error message. The validators in
  435.                          this unit do not, but retreive a resource string
  436.                          so you can internationalize your validation.
  437.           PTGEN.TPH      Online help which you can include directly in your
  438.                          Turbo Pascal IDE or Borland Pascal IDE. It covers
  439.  
  440.                               PtGen user manual - page 3
  441.  
  442.  
  443.  
  444.  
  445.  
  446.                          all supplied units like BBUTIL and BBSTRRES.
  447.  
  448.  
  449.           Installation on harddisk
  450.  
  451.           PtGen is simple to install. But first make a backup copy of the
  452.           distribution diskette.
  453.  
  454.           Create a directory if necessary to hold your copy of PtGen. You
  455.           can create any directory you like. Advised directory is "PTGEN".
  456.           Make sure this directory is in your path because because each
  457.           program developed with PtGen needs a seperate directory. You will
  458.           call PtGen from the directory of each application.
  459.  
  460.  
  461.           Environment variables
  462.  
  463.           Optionally you can set the environment variable PTGEN in your
  464.           AUTOEXEC.BAT. All command line options of PtGen can be preset in
  465.           this environment variable. If you specify
  466.  
  467.             SET PTGEN=/50
  468.  
  469.           PtGen will always start in 80x50 video mode. Specified
  470.           commandline options will override the environment variable
  471.           settings. See Appendix A for all commandline options.
  472.           The environment variable PTGINPUT specifies the directory where
  473.           PtGen should search for standard files PtGen needs when you
  474.           create a new application. For example the standard string
  475.           resource files ENGLISH.TVR should reside in this directory. Most
  476.           of the time you simply set PTGINPUT to the directory where the
  477.           PtGen executable resides.
  478.  
  479.  
  480.           Installation under Tools menu of Borland IDE
  481.  
  482.           You can install PtGen also in the Tools section of the Borland
  483.           IDE. Choose Options|Tools and press New. Specify under Title
  484.           ~P~tGen, under Program path for example c:\ptgen, under Command
  485.           line $EDNAME $SAVE ALL. As a hotkey I suggest Shift-F9 but any
  486.           other key or no key is alright too of course.
  487.  
  488.  
  489.           Needed units
  490.  
  491.           Make sure your compiler can find units from
  492.           bp/examples/dos/tvdemo and /bp/examples/dos/tvfm. You need
  493.           CALCULATORS.PAS, GADGETS.PAS, HELPFILE.PAS, VIEWTEXT.PAS, and
  494.           maybe more.
  495.  
  496.  
  497.  
  498.  
  499.                               PtGen user manual - page 4
  500.  
  501.  
  502.  
  503.  
  504.  
  505.                                PtGen DEVELOPMENT-CYCLE
  506.  
  507.  
  508.  
  509.  
  510.           PtGen development-cycle
  511.  
  512.           This section shows you how to work with PtGen. But first is the
  513.           underlying software development cycle discussed. PtGen is a
  514.           prototype generator, that means, that you should not expect that
  515.           PtGen can create complete applications for you. It will let you
  516.           build TurboVision screens very fast and very visually but that's
  517.           not the end. For example, when you create a dialog box a dummy
  518.           TListViewer is inserted. What you should do is to first to create
  519.           the dialog box including all buttons, helptexts, etc., than copy
  520.           the dialog box code PtGen has outputted, and past it into your
  521.           program.
  522.           You don't have to copy/past all dialog code though. Some dialog
  523.           boxes are complete by themselves. But as soon as you want a
  524.           custom view to be inserted you need this copy/past scheme. An
  525.           examples of a complete, compilable application can be found in
  526.           the chapter titled Creating an Executable and the accompanying
  527.           source files DEMOMENU.PAS and DEMOMAIN.PAS.
  528.  
  529.           The steps followed when using PtGen are:
  530.           1. Create a separate directory for each application.
  531.           2. Copy PREAPP.PAS to this directory. PREAPP.PAS contains the
  532.              application object from which the application object PtGen
  533.              creates is derived.
  534.           3. Start PtGen in this directoryand build a menubar, a
  535.              statusline, dialog boxes and helptexts.
  536.           4. Save your work as a PtGen readable Pascal source file. PtGen
  537.              readable means that several PtGen directives are inserted in
  538.              the source file, but they won't affect compilation.
  539.           5. Create the main of your application. You probably want to
  540.              override the HandleEvent of the TApplcation object PtGen has
  541.              created in its source file.
  542.              You probably need to copy/paste some PtGen created code to
  543.              your source files if you want to change or add custom views.
  544.           6. Compile your program.
  545.  
  546.           This development cycle will become clearer after you have worked
  547.           with PtGen and read the chapters Sample Apps and Creating an
  548.           Executable.
  549.  
  550.  
  551.           Ptgen single dialog box creating mode
  552.  
  553.           For people not wanting to create a complete application but just
  554.           use PtGen's dialog box creating capabilities there is an option
  555.           Dialog|New. You don't have to follow the previous steps and you
  556.           can just create a single dialog box. After you close the dialog
  557.  
  558.                               PtGen user manual - page 5
  559.  
  560.  
  561.  
  562.  
  563.  
  564.           box you can save the source code of the create dialog box to a
  565.           file. You can read this file with Dialog|Open.
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.                               PtGen user manual - page 6
  618.  
  619.  
  620.  
  621.  
  622.  
  623.                               THE FILES CREATED BY PtGen
  624.  
  625.  
  626.           In this section the files that PtGen creates are explored.
  627.  
  628.  
  629.           The Source File
  630.  
  631.           As already said, PtGen creates normally, compilable Turbo Pascal
  632.           source code. PtGen can read that source code back if you want to
  633.           re-edit or change the created menubar, statuslines, dialog boxes
  634.           or helptexts.
  635.           The form of the source code is a unit which you can use in your
  636.           program. The main object defined in this unit is a descendent of
  637.           TPreApp, which is a descendent of TApplication. The Application
  638.           object PtGen creates does not descent directly from TApplication
  639.           in this way. The parent object is TPreApp, which is defined in
  640.           PREAPP.PAS This allows you to place common code for your objects
  641.           in PREAPP.PAS.
  642.  
  643.  
  644.           DEFINES.DEF
  645.  
  646.           Besides this source code file, PtGen creates several other files.
  647.           The first file to mention is DEFINES.DEF. PREAPP.PAS is also used
  648.           to define the conditional code, code that the applications you
  649.           create may need. For example if you specified that you want to
  650.           create online help a special file with directives is created
  651.           which in turn enables certain parts in PREAPP.PAS to be compiled.
  652.           The file in which the directives are placed is called
  653.           DEFINES.DEF. This file is included with i $I into PREAPP.PAS.
  654.           Because the compilation of PREAPP.PAS is application dependent,
  655.           it is recommended that for every application you create, a
  656.           separate directory is created to which PREAPP.PAS (and
  657.           PREAPP.INC) are copied.
  658.           The possible conditional symbols that can be created in
  659.           DEFINES.DEF are:
  660.           -  {$DEFINE Help} When you specified that you wanted to use the
  661.              Help Window Option (Note that the context-sensitive statusline
  662.              help can always be used.) If you enabled this option you can
  663.              create help windows, including cross-references, much like the
  664.              online Help of TP7.
  665.           -  {$DEFINE Editors} if you specified that you wanted to make use
  666.              of the Editors unit in your program.
  667.           -  {$DEFINE BufferedPrinter} if you specified that you wanted to
  668.              use the background printing unit.
  669.  
  670.  
  671.           STRRESFS.TVR
  672.  
  673.           PtGen lets you use various string resources for your application.
  674.           If you have defined seperate string resources for one or for a
  675.  
  676.                               PtGen user manual - page 7
  677.  
  678.  
  679.  
  680.  
  681.  
  682.           cluster of releated units, you can add such string resources to
  683.           your application. When writing the source file for your
  684.           application all string resource files and identifier files are
  685.           read and put in one file, called STRINGS.TVR (see below). PtGen
  686.           stores the filenames of all these string resource files and
  687.           identifier files in STRRESFS.TVR.
  688.           This file is only created if you have specified string resources
  689.           above the standard one (see STRINGS.TVR).
  690.  
  691.  
  692.           STRINGS.TVR
  693.  
  694.           After you have specified which string resources to use, they
  695.           should be accumulated in one file. That file is called
  696.           STRINGS.TVR. All statusline helpstrings and all language
  697.           dependent strings (in ENGLISH.TVR, DUTCH.TVR or other) are saved
  698.           in STRINGS.TVR. If you specified other string resources in
  699.           STRRESFS.TVR they will be saved to STRINGS.TVR too.
  700.           The BBSTRRES unit gives you easy acces to strings stored in this
  701.           file.
  702.  
  703.  
  704.           STRINGS.INC
  705.  
  706.           In STRINGS.INC all resource string identifiers are accumulated
  707.           for this application. STRINGS.INC should correspondent with
  708.           STRINGS.TVR
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.                               PtGen user manual - page 8
  736.  
  737.  
  738.  
  739.  
  740.  
  741.                              GENERAL OPERATION PRINCIPLES
  742.  
  743.  
  744.           In the following two sections general principles when working
  745.           with PtGen are covered.
  746.  
  747.  
  748.           Mouse operation
  749.  
  750.           PtGen is designed to be very consistent. You will find the same
  751.           basic set of operations throughout PtGen. Learn them once, and
  752.           you know it for ever. First the basics for mouse users are
  753.           covered, than for keyboard users.
  754.  
  755.           Left button    Clicked on backgrounds pop-ups the local menu
  756.           Right button   When the mouse is on an object/item, pressing the
  757.                          right mouse button pops-up a menu with actions you
  758.                          can apply to that object/item or it starts editing
  759.                          the current object/item
  760.  
  761.  
  762.           Keyboard operation
  763.  
  764.           Alt-F5         Pop-up local position menu for positioning the
  765.                          current object
  766.           Alt-F10        Pop-up local menu
  767.           Ctrl-F7        Delete current object/item
  768.           Ctrl-F8        Edit current object/item
  769.           Ctrl-F9        Link other objects to your object
  770.           Ins            Insert an item
  771.           Del            Delete an item (same as Ctrl-F7)
  772.  
  773.  
  774.           OK, enough explanation. The next chapter will let you create some
  775.           sample applications.
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                               PtGen user manual - page 9
  795.  
  796.  
  797.  
  798.  
  799.  
  800.                                      SAMPLE APPS
  801.  
  802.  
  803.           We'll build three different sample applications. The first two
  804.           are covered by the build-in tutorial although the written version
  805.           has more explanation and references other and advanced features.
  806.           The first application lears you to create menus and a statusbar.
  807.           The next learns you to create dialog boxes.
  808.           Detailed information about the above mentioned subjects/ob-
  809.           jects(!) can be found in the reference manual.
  810.  
  811.           For every application:
  812.           1.   Create a separate directory
  813.           2.   Copy PREAPP.PAS and PREAPP.INC from your PtGen directory to
  814.                this directory. The application object PtGen creates, is a
  815.                descendent of the application object defines in this file.
  816.           3.   Start PtGen from this directory so all files created by
  817.                PtGen will be placed in this directory.
  818.  
  819.  
  820.           Creating a menubar and a statusline
  821.  
  822.           To create a new application, just start up PtGen.
  823.  
  824.           1.   Select New from the File menu.
  825.  
  826.           Now you're asked to specify some information about the new
  827.           application you're creating.
  828.  
  829.           2.   Fill in the application name, in our case SampleApp.
  830.  
  831.           Your application will be saved in a source file you specify and
  832.           the name will be: TSampleApp. PtGen automatically adds a T or P
  833.           to the name of every object it creates, so don't specify T's or
  834.           P's.
  835.           PtGen supports helptext creating. To enable this option you have
  836.           to mark Help in the Options menu and you have to specify a
  837.           filename.
  838.  
  839.           3. Enable the Help option
  840.  
  841.           4. Specify as helpfile: sample.txt.
  842.  
  843.           The other options are explained more fully in the reference
  844.           manual. We will not use this feature in our sample application.
  845.  
  846.           5. Press Enter or click OK to close this dialog box.
  847.  
  848.           You are now ready to edit your application.
  849.  
  850.           6.   Select Edit from the menubar or press Ctrl-F8 to edit your
  851.                application.
  852.  
  853.                              PtGen user manual - page 10
  854.  
  855.  
  856.  
  857.  
  858.  
  859.           Next, you'll see an almost empty menubar and an empty statusline.
  860.           Let's add the familiar F1 and F10 to the statusline.
  861.  
  862.           7.   Popup the local menu by pressing Alt-F10 or, for mouse
  863.                users, press the left button.
  864.  
  865.           A popup menu appears.
  866.  
  867.           8.   Choose Statusline.
  868.  
  869.           Go to the StatusKeys listviewer by pressing Tab. Now press the
  870.           down arrow once (the lightbar should now be on kbF10).
  871.           And add your first item.
  872.  
  873.           9. Press Ins or click on new.
  874.  
  875.           A dialog box appears in which you can specify the same parameters
  876.           as the NewStatusKey function.
  877.  
  878.           10.  Enter after Text: 
  879.                  ~F2~ Save
  880.                Enter after Keycode
  881.                  kbF2
  882.                Enter after Command
  883.                  cmSave
  884.  
  885.           11.  And press Enter or click OK to close this dialog box.
  886.  
  887.           When you look at the statusline, you'll see that F1 has appeared.
  888.           Do the same for F10.
  889.  
  890.           12.  Press Ins, enter after Text
  891.                  ~F3~ Open
  892.                Enter after Keycode
  893.                  kbF3
  894.                Enter after Command
  895.                  cmOpen
  896.                And press Enter to close the dialog box.
  897.  
  898.           And for Alt-X.
  899.  
  900.           13.  Press Ins.
  901.                Leave the Text inputline empty,
  902.                enter after Keycode
  903.                  kbAltF3
  904.                After Command
  905.                  cmClose
  906.                and press Enter to close the dialog box.
  907.  
  908.           You see that in the Statusline dialog box entries are
  909.           differentiated by their keys. If no key is specified (kbNoKey),
  910.           the first part of the text is shown.
  911.  
  912.                              PtGen user manual - page 11
  913.  
  914.  
  915.  
  916.  
  917.  
  918.           To close the statusline dialog box, press Enter again.
  919.  
  920.           14.  Press Enter to close the statusline dialog box.
  921.  
  922.           OK, now the menubar.
  923.  
  924.           15.  Press Menu (F10).
  925.  
  926.           You'll see that a lightbar appears on menu ≡, but when you look
  927.           at the statusline, you see that it hasn't changed. But in the IDE
  928.           of Turbo Pascal the statusline changed to 
  929.             F1 Help │ System commands
  930.           It isn't there, but soon it will be. We have to add some helptext
  931.           to the ≡ menuitem.
  932.  
  933.           16.  Press Edit (Ctrl-F8).
  934.  
  935.           The edit dialog box for a menu item appears. You can add all
  936.           options you could when handcoding menu's for Turbo Vision and
  937.           more. You can specify a statusline helptext and a normal helptext
  938.           which the user accesses by pressing F1.
  939.  
  940.  
  941.           REMARK A: helptexts for F1 will only be stored in a file when you
  942.           had set helpfile on and had specified a helpfile name in the
  943.           application edit dialog box, the one you where you specified the
  944.           application's name.
  945.  
  946.           REMARK B: Only after TVHC has been run to compile a helpfile
  947.           (.HLP) from the saved text, will helpfiles be shown on the
  948.           screen.
  949.           Instead of running TVHC you could also select HelpText from the
  950.           Desktop Local menu. Next press the Compile button.
  951.  
  952.  
  953.           17.  Add a helptext by entering
  954.                  system commands
  955.                after help text and press Enter to close the dialog box.
  956.  
  957.           You will now see that the statusline has changed and now shows
  958.           the desired text. For more information about the menuitem dialog
  959.           box, see the reference manual.
  960.  
  961.           Adding a menuitem is equally simple. We will add a submenu, the
  962.           first part the File submenu as found in the Turbo IDE.
  963.  
  964.           18.  Move the lightbar on the   symbol, the end symbol. Now press
  965.                Ins to insert a menuitem.
  966.  
  967.           The menuitem dialog box will appear.
  968.  
  969.           19.  Enter after Name
  970.  
  971.                              PtGen user manual - page 12
  972.  
  973.  
  974.  
  975.  
  976.  
  977.                  ~F~ile
  978.  
  979.           20. Enter after Help text
  980.                  File management commands (Open, New, Save, etc.)
  981.  
  982.           Leave the other fields empty.
  983.  
  984.           21.  Select OK to close this dialog box.
  985.  
  986.           The lightbar automatically moves right so you can quickly enter
  987.           more menuitems, but let's first edit the created menu. Because
  988.           you didn't specify a command, this will be a submenu.
  989.  
  990.           22.  Move the lightbar to File and press Enter.
  991.  
  992.           An empty submenu will appear with only the Endmark symbol  
  993.           present. You can add more menuitems by pressing Ins.
  994.  
  995.           23.  Add a new menuitem by pressing Ins. Enter after Name
  996.                  ~O~pen...
  997.                After Command
  998.                  cmOpen
  999.                After Keycode
  1000.                  kbF3
  1001.                After Param
  1002.                  F3
  1003.  
  1004.           We will not use hcConstant in this example, so leave it empty.
  1005.           See the reference manual for details and meaning of hcConstants.
  1006.           Generally speaking: hcConstants are used to refer to helptexts
  1007.           which you will use on more than one place your application. This
  1008.           saves you typing time and promotes consistency.
  1009.  
  1010.           24.  Enter after Help text
  1011.                  Locate and open a file in an Edit window
  1012.  
  1013.           25.  Select the OK button to close the dialog box.
  1014.  
  1015.           So, that's it for now. You learned how to create statuslines and
  1016.           menubars.
  1017.  
  1018.           26.  Press Exit (Alt-X) to exit your created application.
  1019.  
  1020.           You return now to PtGen.
  1021.  
  1022.           27.   Press Menu (F10) and select Save from the File menu. You
  1023.                will be prompted for a filename. Enter
  1024.                  Sample
  1025.                and select OK to save your application.
  1026.  
  1027.           PtGen will now save your application in Pascal source code
  1028.           format. It's a advised to look at the code PtGen's created to get
  1029.  
  1030.                              PtGen user manual - page 13
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.           a feeling for what it does. This is not necessary, but I think
  1037.           you will use PtGen frequently to quickly prototype a screen and
  1038.           than copy code fragments to your application and edit it further
  1039.           as already explained. See chapter DEMO for more information.
  1040.  
  1041.  
  1042.           Creating a dialog box
  1043.  
  1044.           We'll use the application you created in the previous example.
  1045.           It's assumed that you are at the Dos prompt.
  1046.  
  1047.           1.   Type
  1048.                  ptgen sample
  1049.                and press Enter.
  1050.  
  1051.           PtGen will now load the code in SAMPLE.PAS.
  1052.  
  1053.           2.   Select Edit from the menubar or press Edit (Ctrl-F8) to edit
  1054.                your application.
  1055.  
  1056.           We will add an about dialog box to this sample application.
  1057.  
  1058.           3.   Press Menu (F10), position the lightbar on ≡ and press
  1059.                Enter. Position the lightbar on the About menuitem.
  1060.  
  1061.           We wish that as we select About from the System menu an about
  1062.           dialog box pops up. We can do this by linking a dialog box to
  1063.           this menuitem.
  1064.           Take a look at the About menuitem by pressing Edit (Ctrl-F8). You
  1065.           see that after Command is specified "cmAbout". Press Esc to close
  1066.           this dialog box.
  1067.  
  1068.           We now link a dialog box to this About menuitem, that means: any
  1069.           time that the cmAbout command is encountered, this dialog box
  1070.           will pop up.
  1071.           You can link code by pressing Link (Ctrl-F9).
  1072.  
  1073.           4.   Press Link (Ctrl-F9). There is no mouse equivalent for this
  1074.                operation.
  1075.  
  1076.           A pop-up menu will appear from which you can choose between 
  1077.           Predefined code, or self-to-Defined code. Under the Predefined
  1078.           option you will for example find a complete calculator. See the
  1079.           Links chapter in the  reference manual for more information about
  1080.           Links and predefined objects.
  1081.           A dialog box is code you interactively define.
  1082.  
  1083.           5.   Select Define and then select Dialog box.
  1084.  
  1085.           First you have to specify some general information about this
  1086.           dialog box. You can specify its name, its title and its helptext.
  1087.           More information about the last item can be found in the
  1088.  
  1089.                              PtGen user manual - page 14
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.           reference manual. We will only specify its Name and its Title.
  1096.  
  1097.  
  1098.           6.   Specify its Name as
  1099.                  AboutDlg
  1100.                And enter after Title
  1101.                  About
  1102.                and press Enter to close the Define a dialog box dialog box.
  1103.  
  1104.           Now you see the dialog box with the Title you specified. You can
  1105.           always edit the dialog box name and the Title by popping up the
  1106.           local menu and selecting Settings.
  1107.  
  1108.           At this moment you can resize/move the dialog box just by
  1109.           pressing Resize (Ctrl-F5). Mouse users can do it their way
  1110.           (clicking on the upper frame, or lower-right corner).
  1111.  
  1112.           A dialog box is an object which can contain other objects. You
  1113.           can pop-up a local menu with the objects you can place in this
  1114.           dialog box by pressing Local Menu (Alt-F10). Mouse users can
  1115.           place the mouse anywhere on the dialog box and press the Left
  1116.           mousebutton to popup the local menu. Objects that mouse users
  1117.           select from the local menu will be placed on the dialog box with
  1118.           their upperleft corner at the current mouse position.
  1119.  
  1120.           7.   Since we are making an About dialog box, pop-up the local
  1121.                menu and select Static Text.
  1122.  
  1123.           You're prompted to specify the text.
  1124.  
  1125.           8.   Enter the following text just as it appears. So enter for ^C
  1126.                first a "^" than a "C":
  1127.                  ^CTurbo Pascal^M^M^CVersion 7.0
  1128.                and select OK.
  1129.  
  1130.           The ^C means center this text, ^M means go the next line.
  1131.  
  1132.           You will see the text centered and a blank line between Turbo
  1133.           Pascal and Version 7.0. If you are a keyboard users, you can move
  1134.           and resize the text by pressing Local Move/Resize (Shift-F5). If
  1135.           you are a mouse user you can do so by placing the mouse on this
  1136.           view and pressing the right mousebutton, holding it down and
  1137.           selecting Move or Resize from the popup menu.
  1138.  
  1139.           9.   Press Local Move/Resize (Shift-F5) to spread the whole text
  1140.                from the left to the right of the dialog box.
  1141.                If you are a mouse user you can do so placing the mouse on
  1142.                the StaticText view and pressing the right mouse button.
  1143.                Select first Move to move the view to the left edge. Then do
  1144.                the same and select Resize to resize the right edge of the
  1145.                StaticText view to the right edge of the dialog box.
  1146.  
  1147.  
  1148.                              PtGen user manual - page 15
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.           You will now insert an OK button.
  1155.  
  1156.           10.  If you are a keyboard user: pop-up again the local menu by
  1157.                pressing Local Menu (Alt-F10), select Predefined and then
  1158.                select OK.
  1159.                If you are a mouse user: place your mouse in the middle of
  1160.                the second half part of the dialog box. Press the left mouse
  1161.                button and hold it down. The local menu appears: select
  1162.                Predefined, then select OK.
  1163.  
  1164.           The OK buton will appear in the upperleft corner if you used the
  1165.           keyboard equivalent, or in the place your mouse was before
  1166.           pressing the left mousebutton. 
  1167.           You can now move or even resize the button.
  1168.  
  1169.           There are some four actions you can do with the objects you place
  1170.           on a dialog box. Keyboard users have to press the appropriate key
  1171.           while mouse users can select the actions from the popup menu
  1172.           which appears if you press the right mousebutton while your mouse
  1173.           is on an object.
  1174.  
  1175.           1)   Move. Press Local Move/Resize (Shift-F5) if you are a
  1176.                keyboard users.
  1177.           2)   Resize. Press Local Move/Resize.
  1178.           3)   Edit. Press Edit (Ctrl-F8). You can edit an object
  1179.                parameters. For example you can edit the static text view to
  1180.                add or change some text. All objects can be editted.
  1181.           4)   Delete. Press Delete (Ctrl-F7). Delete the object.
  1182.  
  1183.           You can select an object with the common Tab/Shift-Tab keys or by
  1184.           selecting them with the mouse.
  1185.  
  1186.           We are now going to end the dialog box creating. There are many
  1187.           more objects you can place on a dialog box as you saw when you
  1188.           popped up the local menu. They are all listed in the Reference
  1189.           Manual.
  1190.  
  1191.           11.  Press Enter to close this dialog box, then press Alt-X to
  1192.                quit to PtGen.
  1193.  
  1194.           You are back in PtGen and you can save the application you
  1195.           created.
  1196.  
  1197.           12.  Press Alt-X to exit PtGen. A dialog box asks you if you want
  1198.                to save your application. Just press Enter and your
  1199.                application is saved before PtGen returns to the dos prompt.
  1200.  
  1201.           PtGen did save your application in Turbo Pascal source code
  1202.           format. It saved it as a unit. To turn the application you
  1203.           created to an executable see the next chapter.
  1204.  
  1205.  
  1206.  
  1207.                              PtGen user manual - page 16
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.                                 CREATING AN EXECUTABLE
  1214.  
  1215.  
  1216.           The code PtGen saves is saved as a unit. As units can't be run,
  1217.           you need to write a program. Sometimes this is very simple, most
  1218.           of the times, your program contains the real flesh and PtGen
  1219.           provides only the skin. Two examples are given: one very simple,
  1220.           the most basic one. And one more complex and realistically.
  1221.  
  1222.  
  1223.           A simple main
  1224.  
  1225.  
  1226.           The most basic Main is the following program. Assumed is that you
  1227.           saved your application in file SAMPLE.PAS and that you named your
  1228.           application object SampleApp.
  1229.  
  1230.                program Main;
  1231.  
  1232.                uses Objects,  {* contains RStringList *}
  1233.                     HelpFile, {* the helpfile unit from
  1234.                                  bp/examples/dos/tvdemo
  1235.                     Sample,   {* which contains the Application object *}
  1236.                     BBStrRes; {* PtGen resource string unit *}
  1237.  
  1238.                var
  1239.                  TMyApp : TSampleApp;
  1240.  
  1241.                begin
  1242.                {* register helpfile *}
  1243.                  RegisterHelpFile;
  1244.  
  1245.                {* initialize string resources *}
  1246.                  RegisterType(RStringList);
  1247.                  LoadStrings;
  1248.  
  1249.                  TMyApp.Init;
  1250.                  TMyApp.Run;
  1251.                  TMyApp.Done;
  1252.                end.
  1253.  
  1254.  
  1255.           The BBUtil, BBDlg, BBStrRes and BBFile units, the PREAPP.INC
  1256.           include file as well as PREAPP.PAS (which should be in your
  1257.           directory) should be available for the compiler as the unit that
  1258.           PtGen creates needs them.
  1259.  
  1260.  
  1261.           A more advanced main
  1262.  
  1263.  
  1264.                program Main;
  1265.  
  1266.                              PtGen user manual - page 17
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.                uses Objects,  {* contains RStringList *}
  1273.                     Sample,   {* which contains the Application object *}
  1274.                     BBStrRes, {* PtGen resource string unit *}
  1275.                     HelpFile,
  1276.                     BBError;  {* the errorhandling unit *}
  1277.  
  1278.                var
  1279.                  TMyApp : TSampleApp;
  1280.  
  1281.                begin
  1282.                {* initialize string resources *}
  1283.                  RegisterType(RStringList);
  1284.                  LoadStrings;
  1285.  
  1286.                {* register helpfile *}
  1287.                  RegisterHelpFile;
  1288.  
  1289.                {* initialize errorhandling unit *}
  1290.                  InstallExitHandler('MYAPP.LOG');
  1291.  
  1292.                  TMyApp.Init;
  1293.                  TMyApp.Run;
  1294.                  TMyApp.Done;
  1295.                end.
  1296.  
  1297.           The InstallExitHandler call will install an exit handler which
  1298.           gives you a stack dump when your program is aborted. This stack
  1299.           dump (and other information) is written to MYAPP.LOG.
  1300.  
  1301.           See the file SQL2XPL.PAS for a complete working example. It
  1302.           should be in the SAMPLE subdirectory or else in the SAMPLE.ARJ
  1303.           file.
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.                              PtGen user manual - page 18
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.                                  MORE ADVANCED TOPICS
  1332.  
  1333.  
  1334.           This chapter discusses some more advanced topics in PtGen like
  1335.           string resource files and adding units to the uses clause so you
  1336.           can import your own views.
  1337.  
  1338.  
  1339.           Using string resource files
  1340.  
  1341.           Not yet provided.
  1342.  
  1343.           See Chapter 7 of the Borland Pascal Resource Workshop User's
  1344.           Guide which provides essentially the same information as should
  1345.           be presented here. PtGen's string resource handling is modeled
  1346.           after the Windows string resource handling.
  1347.  
  1348.  
  1349.           Adding units
  1350.  
  1351.           For some views (for example the inputline) you can press a code
  1352.           button to change the pointer to the objecttype (for an inputline
  1353.           this is PInputLine) or to add parameters.
  1354.           In order to use your own views you can enhance the uses clause in
  1355.           the implememtion section. To do so popup the Desktop Local Menu
  1356.           by pressing Local Menu (Alt-F10) and choose Units. You can now
  1357.           add, edit or delete unitnames.
  1358.           The units will be added at the end of the uses clause.
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.                              PtGen user manual - page 19
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.                            Appendix A: Command line options
  1391.  
  1392.  
  1393.           PtGen recognizes the following command line options:
  1394.  
  1395.             filename - a PtGen generated pascal file (default extension
  1396.                        .PAS)
  1397.             /h       - this help screen
  1398.             /BW      - black and white palette for monochrome monitors
  1399.             /50      - VGA 50 or EGA 43 lines
  1400.             /NGM     - don't use the graphics mouse
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.                              PtGen user manual - page 20
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.                           Appendix B: Environment variables
  1450.  
  1451.  
  1452.           PtGen recognizes the following environment variables:
  1453.  
  1454.             PTGEN    - standard commandline options can be set in this
  1455.                        variable. The commandline always overrides the
  1456.                        specifications in the PTGEN variable
  1457.             PTGINPUT - The directory where the files are located that PtGen
  1458.                        needs to create an application. Most of the time
  1459.                        this will be the directory where the executable
  1460.                        resides.
  1461.                        Such files are DEFAULT.TVR, ENGLISH.TVR, DUTCH.TVR,
  1462.                        PREAPP.INC and other.
  1463.                        You can specify more than one directory if you
  1464.                        seperate them by semicolons.
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.                              PtGen user manual - page 21
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.                                         INDEX
  1509.  
  1510.  
  1511.           Not yet provided
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.                              PtGen user manual - page 22